home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / powerd / modules.lha / modules / rtgmaster / rtgmaster.m < prev    next >
Encoding:
Text File  |  2000-06-15  |  6.9 KB  |  213 lines

  1. /*
  2. **     $VER: rtgmaster.h 1.013 (15 Jan 1998)
  3. */
  4.  
  5. MODULE    'utility/tagitem',
  6.             'exec/libraries',
  7.             'exec/ports',
  8.             'rtgmaster/rtgsublibs'
  9.  
  10. #define smr_Dummy       TAG_USER
  11. #define smr_MinWidth    (smr_Dummy + $01)
  12. // [320] This tag sets the minimum width in
  13. // pixels which the user is allowed to select
  14.  
  15. #define smr_MaxWidth    (smr_Dummy + $02)
  16. // [2048] This tag sets the maximum width in
  17. // pixels which the user is allowed to select
  18.  
  19. #define smr_MinHeight   (smr_Dummy + $03)
  20. // [200] This tag sets the minimum height in
  21. // pixels which the user is allowed to select
  22.  
  23. #define smr_MaxHeight   (smr_Dummy + $04)
  24. // [2048] This tag sets the maximum height in
  25. // pixels which the user is allowed to select
  26.  
  27. #define smr_PlanarRoundW  (smr_Dummy + $05)
  28. // [16] RtgScreenModeReq will round user inputed
  29. // values for Width to nearest higher multiple
  30. // of thig tag for Planar display modes
  31.  
  32. #define smr_PlanarRoundH  (smr_Dummy + $06)
  33. // [1] RtgScreenModeReq will round user inputed
  34. // values for Height to nearest higher multiple
  35. // of thig tag for Planar display modes
  36.  
  37. #define smr_ChunkyRoundW  (smr_Dummy + $07)
  38. // [1] RtgScreenModeReq will round user inputed
  39. // values for Width to nearest higher multiple
  40. // of thig tag for Chunky display modes
  41.  
  42. #define smr_ChunkyRoundH  (smr_Dummy + $08)
  43. // [1] RtgScreenModeReq will round user inputed
  44. // values for Height to nearest higher multiple
  45.  
  46. #define smr_ProgramUsesC2P    (smr_Dummy + $0c)
  47. // [TRUE] If the program doesn't use the c2p call you have
  48. // to specify FALSE. In this case the c2p part of the
  49. // window is hidden and the the current c2p module is not
  50. // used when filtering the screen modes.
  51. // of thig tag for Chunky display modes
  52.  
  53. #define smr_ChunkySupport  (smr_Dummy + $09)
  54. // [0] This LONG is used to indicate which
  55. // Chunky modes the user is allowed to select.
  56. // A set bit means the mode is selectable.
  57. // See the rtg_ChunkySupport tag for more
  58. // information.
  59.  
  60. #define smr_PlanarSupport  (smr_Dummy + $0a)
  61. // EITEM smr_PlanarSupport ;[0] This LONG is used to indicate which
  62. // Planar modes the user is allowed to select.
  63. // A set bit means the mode is selectable.
  64. // See the rtg_PlanarSupport tag for more
  65. // information.
  66.  
  67. #define smr_Buffers        (smr_Dummy + $0b)
  68. // [1] Using this tag you're can specify
  69. // the number of buffers your application needs.
  70. // Usually this ranges from 1-3.  Specify
  71. // it here to filter out ScreenModes which can't
  72. // handle the number of buffers you require.
  73.  
  74. //*******
  75. // Attention: The following initial values are overwritten
  76. // by the saved preferences if a valid preferences file
  77. // is found.
  78. #define smr_InitialWidth     (smr_Dummy + $10)
  79. // [320] Initial screen width
  80. // The minimal/maximal selectable width is taken into account.
  81.  
  82. #define smr_InitialHeight    (smr_Dummy + $11)
  83. // [200] Initial screen height
  84. // The minimal/maximal selectable height is taken into account.
  85.  
  86. #define smr_InitialDepth     (smr_Dummy + $12)
  87. // [8] Log2 number of colors
  88.  
  89. #define smr_InitialScreenMode  (smr_Dummy + $13)
  90. // [the first selectable screenmode]
  91. // Ptr to a string describing the ScreenMode
  92. // (this is essentially the string pointed to
  93. // by sm_Name)
  94.  
  95. #define smr_InitialDefaultW    (smr_Dummy + $14)
  96. // [TRUE] False if you don't want the Default
  97. // width gadget active.
  98.  
  99. #define smr_InitialDefaultH    (smr_Dummy + $15)
  100. // [TRUE] False if you don't want the Default
  101. // height gadget active.
  102.  
  103. #define smr_PrefsFileName      (smr_Dummy + $16)
  104. // ["RtgScreenMode.prefs"]
  105. // Specifies the file where the selected screenmode loaded from
  106. // and saved to. If you set this to NULL, the save gadget
  107. // is disabled and no screenmode is loaded at the beginning.
  108. // The window is certainly opened without pressing the shift
  109. // key then.
  110. // If a valid preferences file is found the "smr_Initial" tags
  111. // are ignored. It makes not much sense to specify inital values
  112. // without setting smr_PrefsFileName to NULL.
  113.  
  114. #define smr_ForceOpen          (smr_Dummy + $17)
  115. // [FALSE] If false, the screenmode requester reads the screenmode
  116. // from the file specified by smr_PrefsFileName and returns immediately.
  117. // The requester opens only in case of an error when reading the preferences
  118. // or when the user presses shift while the requester is called.
  119. // If true, the requester opens in any case and lets the user select a
  120. // new mode.
  121.  
  122. #define smr_TitleText          (smr_Dummy + $18)
  123. // ["RTG Screenmode Requester"] (STRPTR)
  124. // The title text of the window
  125.  
  126. #define smr_WindowLeftEdge    (smr_Dummy + $19)
  127. // [-1 (= centered)] The left edge of the requester window
  128. // The value -1 means that the window is centered horicontically.
  129.  
  130. #define smr_WindowTopEdge     (smr_Dummy + $1a)
  131. // [-1 (= centered)] The top edge of the requester window
  132. // The value -1 means that the window is centered vertically.
  133.  
  134. #define smr_Screen            (smr_Dummy + $1b)
  135. // [Default Pubscreen] (struct Screen *)
  136. // The (custom or public) screen on which the screenmode requester should
  137. // be opened
  138.  
  139. #define smr_PubScreenName     (smr_Dummy + $1c)
  140. // [NULL] (STRPTR)
  141. // The name of the public screen on which the screenmode
  142. // requester should be opened; if not found, the default
  143. // pubscreen is used.
  144. //----------------added on 27/10/97 by Wolfram---------------
  145.  
  146. #define smr_MinPixelAspect    (smr_Dummy + $1d)
  147. // [0] Minimal pixel aspect, defined as
  148. // (1 << 16) * pixel_height / pixel_width
  149. // see also: smr_PixelAspect_Proportional, _Wide and _High
  150.  
  151. #define smr_MaxPixelAspect    (smr_Dummy + $1e)
  152. // [ULONG_MAX] Maximal pixel aspect, defined as
  153. // (1 << 16) * pixel_height / pixel_width
  154. // End of RtgScreenModeReq() enumeration ***
  155.  
  156. //**********************************************************************
  157. // Special values for smr_MinPixelAspect and smr_MaxPixelAspect:
  158. //
  159. // If you want to get only proportional screen modes with 20% variation,
  160. // you can set for example:
  161. //
  162. // smr_MinPixelAspect, smr_PixelAspect_Proportional *  8 / 10,
  163. // smr_MaxPixelAspect, smr_PixelAspect_Proportional * 12 / 10
  164. //
  165. #define smr_PixelAspect_Proportional  (1 << 16)
  166. #define smr_PixelAspect_Wide          (smr_PixelAspect_Proportional / 2)
  167. #define smr_PixelAspect_Narrow        (smr_PixelAspect_Proportional * 2)
  168. // Execpt for the rb_LibBase structure this structure is private and for
  169. // the internal use of RtgMaster.library ONLY.  This structure will change
  170. // in the future.
  171.  
  172. OBJECT RDCMPData
  173.     port:PTR TO MsgPort,
  174.     signal:ULONG,
  175.     MouseX:PTR TO WORD,
  176.     MouseY:PTR TO WORD
  177.  
  178. OBJECT RTGMasterBase
  179.     base:Library,
  180.     Pad:WORD,
  181.     SegList:ULONG,
  182.     DosBase:PTR,
  183.     ExecBase:PTR,
  184.     GadToolsBase:PTR,
  185.     GfxBase:PTR,
  186.     IntBase:PTR,
  187.     UtilityBase:PTR,
  188.     Track[8]:BYTE,
  189.     Libraries:PTR TO RtgLibs,
  190.     FirstScreenMode:PTR,
  191.     LinkerDB:PTR
  192.  
  193. // This structure is private and for the internal use of RtgMaster.library
  194. // ONLY.  This structure will change in the future.
  195. OBJECT RtgLibs
  196.     Next:PTR,
  197.     ID:ULONG,
  198.     LibBase:PTR,
  199.     SMList:PTR,
  200.     LastSM:PTR,
  201.     LibVersion:UWORD
  202.  
  203. OBJECT RtgBobHandle
  204.     BufSize:ULONG,
  205.     RtgScreen:PTR TO RtgScreen,
  206.     RefreshBuffer:PTR,
  207.     BPR:ULONG,
  208.     Width:ULONG,
  209.     Height:ULONG,
  210.     numsprites:UWORD,
  211.     maxnum:UWORD,
  212.     reserved:ULONG
  213.